The present invention relates to a coordination position control system for updating a coordinate position of a cursor or an icon displayed on a screen or a display unit from a movement vector computed using an image captured with an image sensor, a coordinate position control method, and a computer-readable storage medium containing a program for coordinate position controlling recorded thereon.
A mouse has been widely used as a pointing device used in information terminal equipment such as a personal computer, and especially a mechanical mouse with a ball provided therein for two-dimensionally moving and controlling a mouse cursor in response to rotation of the ball is used most popularly.
With the conventional type of mechanical mouse as described above, as a cursor can be moved only two-dimensionally, and to overcome this limitation, recently there has been developed and put into practical used the coordinate position control technology enabling three-dimensional movement of a cursor by providing an image sensor within a pointing device and using a movement vector of an image photographed with this image sensor.
For instance, the technology for controlling a cursor position on a video display by computing correlation of movement vectors included in an image consisting of 32xc3x9732 pixels is disclosed in Japanese Patent Laid-Open Publication No. HEI 9-134250. Japanese Patent Laid-Open Publication No. HEI 4-241077 discloses the technology for computing a movement vector not by computing correlation between movement vectors, but by using an optical flow.
With the conventional technology, a cursor can three-dimensionally be moved and controlled by computing a movement vector by means of correctional computing from an image captured with an image sensor or an optical flow and according to the movement vector.
However, when it is tried to update a cursor position by using a movement vector computed from an image photographed with an image sensor based on the conventional technology as described above, for instance, when the illuminating conditions change rapidly, sometimes a trajectory actually drawn by a cursor may be different from that intended by a user.
In other words, when illuminating conditions within an area covered by the image sensor change rapidly, the computed a movement vector becomes extremely large, as compared to that computed immediately before, and consequently, a trajectory drawn with a cursor is offset from an intended one.
Further, when a user moves a pointing device extremely slowly, each component of a computed movement vector, which should be an integer number, may be a value less than 1, and consequently sometimes a cursor position is not correctly updated according to a movement vector and the cursor is disadvantageously stopped.
For the reasons as described above, how to efficiently solve such problems as offset of a cursor trajectory due to an abrupt change in illuminating conditions and stopping of a cursor position when moved very slowly, when updating a cursor position according to a movement vector computed from an image, are extremely important problems.
It is an object of the present invention to provide a coordinate position control system capable of smoothly and flexibly shifting a coordinate position of a cursor, when controlling a coordinate position of a displayed matter such as a cursor by using a movement vector of an image photographed with an image sensor or the like, even if the illuminating conditions change rapidly, or even if a cursor is moved at a low speed, a coordinate position control method and a computer-readable storage medium containing a program for coordinate position controlling recorded thereon.
With the present invention, a movement vector from an image photographed with an image capturing section in a coordinate position instructing device is computed, the computed movement vector is compared with a specified threshold value, validity of the movement vector is determined according to a result of this comparison, and an instructed coordinate position in response to an operation of the coordinate system instructing position is smoothly updated according to the movement vector determined as valid.
With the present invention, a size of a computed movement vector is compared with a prespecified threshold value, and when the size of the movement vector is larger than the prespecified threshold value the movement vector is determined as invalid, so that a coordinate position can be controlled by excluding a movement vector which changes rapidly due to a change in the illuminating conditions.
With the present invention, a size of the computed movement vector is compared with a prespecified threshold value, and when the size of the movement vector is smaller than the prespecified threshold value the movement vector is determined as invalid, so that a coordinate position can be controlled by excluding a movement vector which change minutely due to a change in the illuminating conditions.
With the present invention, an accumulated vector is computed by successively adding the movement vectors which are smaller than a prespecified threshold value, and when the accumulated vector exceeds the prespecified threshold value this accumulated vector is determined as valid, so that movement vectors when a photographed image changes at a low speed can be summed up into one accumulated movement vector.
With the present invention, an accumulated movement vector can be attenuated in response to passage of a specified period of time according to a prespecified attenuation coefficient, so that fluctuation of a cursor position generated when noises in movement vectors under unstable illuminating conditions are accumulated can be attenuated.
With the present invention, an angle between a movement vector as an object to be determined and a movement vector determined as valid immediately before is compared with a specified angular range, and when the angle between the two vectors is not within the specified angular range the movement vector is determined as invalid, so that a movement vector whose angle changes rapidly can be excluded.
With the present invention, a movement vector from an image captured with an image capturing section of a coordinate position instructing device is computed, the computed movement vector is compared with a prespecified threshold value, validity of the movement vector is determined according to a result of this comparison, and an instructed coordinated position in response to an operation of the coordinate position instructing device is updated according to the movement vector determined as valid, so that an instructed coordinated position can smoothly be updated.
With the present invention, a size of a computed movement vector is compared with a prespecified threshold value, and when the size of the movement vector is larger than the prespecified threshold value the movement value is determined as invalid, so that a movement vector which changes rapidly due to a change in the illuminating conditions can be excluded.
With the present invention, a size of a computed movement vector is compared with a prespecified threshold value, and when the size of the movement vector is smaller than the prespecified threshold value the movement vector is determined as invalid, so that a movement vector which changes minutely due to a change in the illuminating conditions can be excluded.
With the present invention, an accumulated movement vector is obtained by successively adding the movement vectors which are smaller than a prespecified threshold value, and when the accumulated vector exceeds the prespecified threshold value the accumulated vector is determined as valid, so that movement vectors of an image which change at a low speed can be summed up into one accumulated vector.
With the present invention, an accumulated vector is attenuated in response to passage of a specified period of time, so that fluctuation of a cursor position generated when noises in movement vectors under unstable illuminating conditions can be attenuated.
With the present invention, an angle between a movement vector as an object to be determined and a movement vector determined as valid immediately before is compared with a prespecified angular range, and when the angle between the two vectors is not within the prespecified angular range the movement vector is determined as invalid, so that a movement vector whose angle changes rapidly can be excluded.
Other objects and features of this invention will become understood from the following description with reference to the accompanying drawings.